Skip to main content

方法 test()和 obj.test() 输出什么?

let name = 'global'
const obj = {
name: 'obj',
test: () => {
let name = 'scope'
console.log(this.name)
}
}
const test = obj.test
test() //空:text.call(undefined) undefined默认指向window,但是let声明为块级作用域,所以winow.name 不存在
obj.test() //空 obj.test.call(obj)

注意:考察 let 与 var 区别(变量提升到全局),this 指向